package cn.demoncat.util.ftp.config;

import cn.demoncat.util.conn.ConnPoolConfig;
import cn.demoncat.util.ftp.FtpConn;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * FTP服务的配置
 * 
 * @author 延晓磊
 *
 * @since 2019年3月12日
 */
@Component
@ConfigurationProperties(prefix="ftp")
public class FtpProperties extends ConnPoolConfig<FtpConn>{

	// FTP登录账号
	private String username;
	// FTP登录密码
	private String password;
	// FTP根目录：FTP安装路径，格式为/xx/xx（连接池必须；每次操作后，须将目录切换回根目录，否则无法复用连接）
	private String root = "/data/ftp";
	// 上传目录是否前缀profile：混合管理多环境文件时设置为1，将为上传路径前缀profile
	private String profile = "0";
	// 上传模块：将作为上传目录的前缀，用于区分项目、模块、挂载磁盘
	private String module = "";
	// FTP缓冲区
	private Integer buff = 102400;
	/**
	 * FTP连接模式：1被动（21-?端口），0主动（21-20端口）
	 * 主动模式：服务端主动给客户端传输文件 -- 客户端连接服务端的命令端口（21）发出命令，服务端通过数据端口（20）传输文件。
	 * 被动模式：服务端被客户端拿走了文件 -- 客户端连接服务端的命令端口（21）发出命令，服务端打开一个数据端口（随机），由客户端自取。
	 */
	private String mode = "1";


	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getRoot() {
		return root;
	}

	public void setRoot(String root) {
		this.root = root;
	}

	public String getProfile() {
		return profile;
	}

	public void setProfile(String profile) {
		this.profile = profile;
	}

	public String getModule() {
		return module;
	}

	public void setModule(String module) {
		this.module = module;
	}

	public Integer getBuff() {
		return buff;
	}

	public void setBuff(Integer buff) {
		this.buff = buff;
	}

	public String getMode() {
		return mode;
	}

	public void setMode(String mode) {
		this.mode = mode;
	}
}
